/*----------------------------------------------------------------------------------------
*
*  Copyright 2019, Gao Hai Hui, <fromzeropoint@126.com>.  All rights reserved.
*  https://gitee.com/helloworldghh/xoskit.git
*  Use of this source code is governed by a MIT license
*  that can be found in the License file.
*
----------------------------------------------------------------------------------------*/
#include "../import/head.h"
#include "../data_struct/head.h"
#include "../helper_proc/head.h"
#include "../macro/head.h"
#include "../impl/head.h"
#include "../msg/head.h"
#include "helper_caller_callback.h"

namespace xos_http
{

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // 

    static xos_box::i_notify* callback_notify_ptr = 0;

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // 

    helper_caller_callback::helper_caller_callback()
    {
    }

    helper_caller_callback::~helper_caller_callback()
    {
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // 

    int helper_caller_callback::set_callback( xos_box::i_notify * pNotify )
    {
        int ret = 0;
        callback_notify_ptr = pNotify;
        return ret;
    }

    xos_box::i_notify* helper_caller_callback::get()
    {
        return callback_notify_ptr;
    }

    int helper_caller_callback::notify( int nMsg )
    {
        int ret = 0;
        xos_box::i_msg* pM = mgr::container()->box()->msg();
        pM->set_void( 0, mgr::get() );
        get()->notify( pM, nMsg );
        return ret;
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // static

    int helper_caller_callback::init()
    {
        int ret = 0;
        return ret;
    }

    int helper_caller_callback::term()
    {
        int ret = 0;
        callback_notify_ptr = 0;
        return ret;
    }

    //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // 

} // xos_http
